home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 6 / CU Amiga Magazine's Super CD-ROM 06 (1996)(EMAP Images)(GB)(Track 1 of 4)[!][issue 1997-01].iso / cucd / prog / mui / muibuilder / mb / m2 / m2mui / mbmuisupport.mod < prev   
Text File  |  1994-10-06  |  2KB  |  107 lines

  1. IMPLEMENTATION MODULE MuiSupport;
  2.  
  3. (*$ NilChk      := FALSE *)
  4. (*$ EntryClear  := FALSE *)
  5. (*$ LargeVars   := FALSE *)
  6. (*$ StackParms  := FALSE *)
  7.  
  8. (*$ DEFINE Locale:=TRUE *)
  9.  
  10. (* MuiSupport 2.0
  11. ** converted by C.Scholz
  12. **
  13. ** HISTORY :
  14. **
  15. ** 22.10.1993 : changed fail, it now does not use Terminal anymore.
  16. **              Instead it uses Arts.Requester
  17. **              (inspired by Michael Suelman)
  18. **
  19. ** $Log: MuiSupport.mod,v $
  20. # Revision 1.6  1994/08/16  20:33:19  Kochtopf
  21. # fail bei +LOCALE berichtigt, so dass der String nicht auf 0C, sondern
  22. # auf NIL getestet wird.
  23. #
  24. # Revision 1.5  1994/08/11  17:00:11  Kochtopf
  25. # *** empty log message ***
  26. #
  27. # Revision 1.4  1994/02/09  14:50:03  Kochtopf
  28. # Versionsnummer in 2.0 geaendert.
  29. #
  30. # Revision 1.3  1994/02/02  09:37:18  Kochtopf
  31. # app bei fail in VAR-Parameter geaendert.
  32. #
  33. # Revision 1.2  1994/02/01  16:49:10  Kochtopf
  34. # kleine Veraenderungen.
  35. #
  36. **
  37. **
  38. *)
  39.  
  40.  
  41. IMPORT R;
  42. IMPORT MD:MuiD;
  43. IMPORT ML:MuiL;
  44. FROM Arts       IMPORT returnVal, Exit, Requester;
  45. FROM SYSTEM     IMPORT ASSEMBLE, ADDRESS, ADR;
  46. FROM IntuitionD IMPORT IClassPtr;
  47. FROM UtilityD   IMPORT Hook;
  48. FROM MuiD       IMPORT APTR, StrPtr; (* || this is || *)
  49.  
  50.  
  51. PROCEDURE DoMethod(obj{R.A2} : APTR; msg{R.A1} : APTR);
  52. (*$ EntryExitCode:=FALSE *)
  53.  
  54. BEGIN
  55.  
  56.     ASSEMBLE (  MOVEA.L -4(A2),  A0
  57.                 MOVE.L   8(A0),-(A7)
  58.                 RTS
  59.                 END );
  60.  
  61. END DoMethod;
  62.  
  63. PROCEDURE DOMethod(obj{R.A2} : APTR; msg{R.A1} : APTR) : LONGINT;
  64. (*$ EntryExitCode:=FALSE *)
  65.  
  66. BEGIN
  67.  
  68.     ASSEMBLE (  MOVEA.L -4(A2),  A0
  69.                 MOVE.L   8(A0),-(A7)
  70.                 RTS
  71.                 END );
  72.  
  73. END DOMethod;
  74.  
  75.  
  76.  
  77. (*****************)
  78. (* Fail Function *)
  79. (*****************)
  80.  
  81. (*$ IF Locale *)
  82. PROCEDURE fail(VAR app : APTR; str : StrPtr);
  83. (*$ ELSE *) (*$ CopyDyn := FALSE *)
  84. PROCEDURE fail(VAR app : APTR; str : ARRAY OF CHAR);
  85. (*$ ENDIF *)
  86.  
  87.     VAR
  88.         Result     : BOOLEAN;
  89.  
  90.     BEGIN
  91.         IF app#NIL THEN ML.mDisposeObject(app); app:=NIL; END;
  92.  
  93.                 (*$ IF Locale *)
  94.         IF str # NIL THEN
  95.                     Result:=Requester(ADR("MUI-Request"),str,NIL,ADR("Oh..."));
  96.                 (*$ ELSE *)
  97.         IF str[0]#0C THEN
  98.                     Result:=Requester(ADR("MUI-Request"),ADR(str),NIL,ADR("Oh..."));
  99.                 (*$ ENDIF *)
  100.                 Exit(20);
  101.            ELSE
  102.                 Exit(0);
  103.            END;
  104.     END fail;
  105.  
  106. END MuiSupport.
  107.